Modern memory systems typically include one or more memory devices that are accessed through a memory controller. In a strobe based memory system, data are transferred between the memory device(s) and the memory controller together with timing (or strobe) signals. When data is written from the memory controller to the memory device, the controller transmits write data and write strobe signals to the memory device. The memory device samples the write data signals and the sampling is clocked according to the write strobe signals. When data is read from memory device, the memory device transmits to the controller read data and read strobe signals. The controller samples the read data signals and the sampling is clocked according to the read strobe signals. The timing relationship between data and strobe signals is critical.
Some higher-performance memory devices operate based on a clocked timing architecture. Write data signals are not sampled according to the timing of write strobe signals but to a clock signal at the memory. Also, read data signals are not sampled according to the timing of read strobe signals but to a clock signal at the controller. With such memory devices and memory controller, there is no need to equalize the electrical lengths of timing and data paths to avoid skew between strobe and data signals. Therefore, the complexity of laying out the memory controller, the memory device and the circuit board can be significantly reduced. The clocked timing architecture, however, require the clock for sampling data signals at the memory or the controller to maintain a fixed phase offset relative to the data signals. Such requirement may be difficult to satisfy when environmental drift components are present in the memory system to cause continual phase drift in its clock signals.